Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generar capas anuales de precipitación a nivel de AGEB 2000 - 2017 #69

Closed
4 tasks done
vichdzgeo opened this issue Oct 15, 2018 · 7 comments
Closed
4 tasks done

Comments

@vichdzgeo
Copy link
Collaborator

vichdzgeo commented Oct 15, 2018

  • Solicitar los datos proporcionados historicos al responsable de activos.
  • Depurar la base de datos.
  • Generar la interpolación
  • Escalar los datos a nivel de AGEB
@vichdzgeo
Copy link
Collaborator Author

vichdzgeo commented Oct 15, 2018

Solicitar los datos de precipitación históricos al responsable de activos

Ruta de los datos: MEGADAPT\mega_insumos\agosto2016\SACMEX\INFORMACION DE LLUVIAS\ALTURAS DE PRECIP DIARIAS Y MENSUAL

Depurar la base de datos.

Ruta de trabajo: C:\Dropbox (LANCIS)\SIG\desarrollo\sig_megadapt\procesamiento\encharcamientos_escorrentias\precipitacion_00_14

  • Se extraen los datos acumulados de precipitación de los años 2000 al 2014,
  • Del archivo UBICACIONESTA.xls se extrae la latitud y longitud de las estaciones.
  • Se genera un archivo est_prec_acum_00_13.xls el cúal contiene 15 hojas (1 por año) donde la información fue organizada de la siguiente manera:
id estacion long lat prec_aa

Generar la interpolación.

El procedimiento para generar la información es el mismo que se describe en el issue #66

Escalar los datos a nivel de AGEB.

Ver issue #66

Los datos se encuentran listos en la siguiente ruta:

\SIG\desarrollo\sig_megadapt\entregables\precipitacion_ageb
los datos estan a nivel de ageb y anuales con el nombre:

  • ageb_prec_aa.shp

donde "aa" es el año.

@vichdzgeo vichdzgeo changed the title Calcular la precipitación anual para 2000 - 2014 Generar capas anuales de precipitación a nivel de AGEB 2000 - 2014 Oct 15, 2018
@vichdzgeo
Copy link
Collaborator Author

@vichdzgeo
Copy link
Collaborator Author

vichdzgeo commented Oct 25, 2018

@yosunemiquela
se procesan los datos conforme a tu solictud.
ruta:
\SIG\desarrollo\sig_megadapt\entregables\series_tiempo

series de tiempo listas:

  • prec_st_1950_2013.csv
  • ta_st_1950_2013.csv

@vichdzgeo
Copy link
Collaborator Author

vichdzgeo commented Oct 30, 2018

Generación de capa de precipitación para los años 2000 - 2016

ruta: SIG\desarrollo\sig_megadapt\entregables\precipitacion_ageb\prec_00_16.shp

Se unieron las capas anuales de precipitación en una sola, los nombres de los campos p_aaaa donde "aaaa" representa la precipitación acumulada anual.

Se crea un campo del promedio de los datos.

@iaga @aleestrada @AlfMedina

@vichdzgeo vichdzgeo changed the title Generar capas anuales de precipitación a nivel de AGEB 2000 - 2014 Generar capas anuales de precipitación a nivel de AGEB 2000 - 2017 Nov 9, 2018
@vichdzgeo
Copy link
Collaborator Author

vichdzgeo commented Nov 9, 2018

Se actualiza la capa incorporando el año 2017

ruta: SIG\desarrollo\sig_megadapt\entregables\precipitacion_ageb\prec_00_17.shp

Se unieron las capas anuales de precipitación en una sola, los nombres de los campos p_aaaa donde "aaaa" representa la precipitación acumulada anual.

Se actualiza el campo del promedio de los datos.

@iaga @aleestrada

@vichdzgeo
Copy link
Collaborator Author

vichdzgeo commented Dec 3, 2018

Generar una capa de precipitación anual multiplicado por el área del ageb

la capa generada se encuentra en la siguiente ruta:
C:\Dropbox (LANCIS)\SIG\desarrollo\sig_megadapt\entregables\prec_volumen\prec_vol_ageb.shp

se creo con el siguiente código:

import qgis
from qgis.core import *
from qgis.analysis import *
from os.path import join
from PyQt4.QtCore import *
from osgeo import gdal, ogr,osr
import math
from datetime import datetime, date, time, timedelta


def v_copia(path_vector,path_salida):
    """
    Crea una copia de la capa a partir de la ruta de la capa, la capa es creada con el mismo sistema de
    referencia que el origen.
    """
    vlayer = QgsVectorLayer(path_vector,"","ogr")
    clonarv = QgsVectorFileWriter.writeAsVectorFormat(vlayer,path_salida,'utf-8',vlayer.crs(),"ESRI Shapefile")



def crear_campo(path_vector,nombre_campo,tipo):

    ''' Crear_campo(path_vector,nombre_campo,tipo)
    Esta funcion crea un campo segun el tipo especificado.
    path_vector:La ruta del archivo shapefile al cual se le quiere agregar el campo
    nombre_campo: Nombre del campo nuevo
    tipo: es el tipo de campo que se quiere crear:
    Int: para crear un campo tipo entero
    Double: para crear un campo tipo doble o flotante
    String: para crear un campo tipo texto
    Date: para crear un campo tipo fecha '''

    if len(nombre_campo) >10:
        print("el nombre del campo debe contener maximo 10 caracteres")
    else:
        if tipo == "Int":
            nombre=QgsVectorLayer(path_vector,"","ogr")
            nombre.dataProvider().addAttributes([QgsField(nombre_campo.lower(),QVariant.Int)])
            return nombre
        elif tipo == "Double":
            nombre=QgsVectorLayer(path_vector,"","ogr")
            nombre.dataProvider().addAttributes([QgsField(nombre_campo.lower(),QVariant.Double)])
            return nombre
        elif tipo == "String":
            nombre=QgsVectorLayer(path_vector,"","ogr")
            nombre.dataProvider().addAttributes([QgsField(nombre_campo.lower(),QVariant.String)])
            return nombre
        elif tipo == "Date":
            nombre=QgsVectorLayer(path_vector,"","ogr")
            nombre.dataProvider().addAttributes([QgsField(nombre_campo.lower(),QVariant.Date)])
            return nombre
        else:
            print ("el tipo no existe o hay error en su declaracion")

sig_path="C:/Dropbox (LANCIS)/SIG/desarrollo/sig_megadapt/procesamiento/prec_volumen/"
precipitacion = QgsVectorLayer (sig_path+"insumos/ageb_prec_00_17_utm.shp","","ogr")

v_copia(sig_path+"insumos/ageb_prec_00_17_utm.shp"  , sig_path+"salida/ageb_vol_prec_utm.shp")

vol_prec = QgsVectorLayer (sig_path+"salida/ageb_vol_prec_utm.shp","","ogr")

campos=[field.name() for field in precipitacion.fields()] [1:]

for campo in campos:
    if campo !='area':
        print campo
        campo_v=campo+'v'
        crear_campo(sig_path+"salida/ageb_vol_prec_utm.shp",campo_v,"Double")
        
        vol_prec.startEditing()
        for ageb in vol_prec.getFeatures():
            volumen = (ageb[campo]*ageb['area'])/1000
            ageb[campo_v]=volumen
            vol_prec.updateFeature(ageb)
            #print "el ageb ",ageb['ageb_id'],"para el anio",campo, "tiene un volumen de " , volumen, "dato del shape",ageb[campo]
        vol_prec.commitChanges()
        
print "el proceso se termino"
     

@aleestrada @iaga @serranoycandela

@iaga
Copy link
Collaborator

iaga commented Feb 14, 2019

Los insumos para la precipitación por volumen (modelo de encharcamientos/inundaciones) se encuentran ubicados en la ruta:

\SIG\desarrollo\sig_megadapt\procesamiento\modelo_ench_inund\insumos\vol_prec\ageb_vol_prec_utm

@yosunemiquela

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants